package com.orange.core.pojo.entity.repairOrder;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.orange.core.pojo.entity.IIntIdModel;
import com.orange.core.pojo.entity.IOperatorModel;
import com.orange.core.pojo.enums.StatusEnum;
import com.orange.core.util.Constants;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 报修管理表
 * @TableName repair_order
 */
@Data
@Accessors(chain = true)
public class RepairOrder implements IIntIdModel<RepairOrder>, IOperatorModel<RepairOrder> {

    /**
     * 序号
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 商户id
     */
    private Integer merchantId;

    /**
     * 报修问题分类id
     */
    private Integer categoryId;

    /**
     * 报修标题
     */
    private String title;

    /**
     * 详情描述
     */
    private String description;

    /**
     * 联系人
     */
    private String contactPerson;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 图片url,多个有逗号分隔
     */
    private String images;

    /**
     * 状态:0-未处理，1-处理中，2-已处理
     */
    private StatusEnum status;

    /**
     * 处理人id
     */
    private Integer handlerId;

    /**
     * 处理人姓名
     */
    private String handlerName;

    /**
     * 处理时间
     */
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private LocalDateTime handleTime;

    /**
     * 处理备注
     */
    private String handleRemark;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = Constants.DEFAULT_DATE_FORMAT)
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}